<template>
  <div>
    <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
      <van-swipe-item v-for="item in gallery" :key="item.id">
        <img :src="item.img_url" alt style="display:block" width="100%" />
      </van-swipe-item>
    </van-swipe>
    <Tips />
    <div class="info">
      <div class="info_title">{{info.name}}</div>
      <div class="goods_brief">{{info.goods_brief}}</div>
      <div class="retail_price">{{info.retail_price | RMBformat}}</div>
    </div>
    <van-cell title="展示弹出层" is-link @click="isSkuShow=true" />
    <div class="attribute">
      <h3>商品参数</h3>
      <ul>
        <li v-for="(item,key) in attribute" :key="key">
          <div class="l">{{item.name}}</div>
          <div class="r van-ellipsis">{{item.value}}</div>
        </li>
      </ul>
    </div>
    <div v-html="goods_desc" class="goods_desc"></div>
    <!-- 常见问题 -->
    <div class="title">
      <span>常见问题</span>
    </div>
    <ul class="issue">
      <li v-for="item in issue" :key="item.id">
        <h3>{{item.question}}</h3>
        <p>{{item.answer}}</p>
      </li>
    </ul>
    <div class="title">
      <span>大家都在看</span>
    </div>
    <Products :goodsList="goodsList" />
    <!-- 弹出商品sku -->
    <van-sku ref="sku" v-model="isSkuShow" :sku="sku" :goods="goods" :hide-stock="sku.hide_stock" />
    <AppGoodActive @addToCart="addToCart" :goodsCount="goodsCount" />
  </div>
</template>

<script>
import { GetGoodsDetailData, GetGoodsRelatedData ,GetGoodsCount,AddProductToCart} from "@/request/api";
import Tips from "@/components/Tips";
import AppGoodActive from "@/components/AppGoodActive";
import Products from "@/components/Products";
export default {
  name: "ProducDetail",
  components: { Tips, AppGoodActive, Products },
  data() {
    return {
      //轮播图数据
      gallery: [],
      //商品信息
      info: {},
      //商品参数
      attribute: [],
      //商品信息描述（图片）
      goods_desc: "",
      //常见问题
      issue: [],
      //相关产品
      goodsList: [],
      //sku
      isSkuShow:false,
      sku:{
        tree:[],
        hide_stock:false,
        price:'0',
        stock_num:0,
      },
      goods:{
        picture:'',

      },
      //...................
      //购物车产品数量
      goodsCount:0,
      //库存数量
      productList:[],
    };
  },
  created() {
    //发送请求，请求商品数据
    GetGoodsDetailData({
      id: this.$route.query.id
    }).then(res => {
      // console.log(res)
      //  this.gallery = res.data.gallery
      //解构写法
      let { gallery, info, attribute, issue,productList } = res.data;
      this.gallery = gallery;
      this.info = info;
      this.attribute = attribute;
      this.goods_desc = info.goods_desc;
      this.issue = issue;
      //sku
      this.goods.picture = info.list_pic_url;
      this.sku.price = info.retail_price;
      this.sku.stock_num = info.goods_number;
      this.productList = productList;
    });
    //相关产品数据
    GetGoodsRelatedData({
      id: this.$route.query.id
    }).then(res => {
      let { goodsList } = res.data;
      this.goodsList = goodsList;
    });
    //获取购物车产品数量
    GetGoodsCount().then(res =>{
      if(res.errno==0){
        console.log(res)
        this.goodsCount = res.data.cartTotal.goodsCount

      }
    })
  },

  methods: {
    goToCart(){
      //如果sku没有展示
    if(this.isSkuShow){
        //加入购物车
    }else{
        this.isSkuShow = true
    }
      //入如果展示
    },
    addToCart(){
      //如果sku没有展示
    if(this.isSkuShow){
        //加入购物车
        console.log('加入购物车操作')
         console.log(this.$refs.sku.getSkuData().selectedNum)
        // this.$refs.sku.getskuData().selectetNum;
        AddProductToCart({
          goodsId:this.$route.query.id,
          productId:this.productList[0].id,
          number:this.$refs.sku.getSkuData().selectedNum
         
        }).then(res =>{
          if(res.errno==0){
            //console.log(res)
            //添加到购物车
            //更新到购物车
            this.goodsCount = res.data.cartTotal.goodsCount;
            this.$toast.success('添加成功')
            setTimeout(()=>{
               this.$router.push('/cart')
            },1500)
           
          }
        })
    }else{
        this.isSkuShow = true
    }
      //入如果展示
    }
  }
};
</script>

<style  lang="less" scoped>
.info {
  background-color: #fff;
  text-align: center;
  line-height: 0.4rem;
  padding: 0.1rem;
  border-bottom: 1px solid #ccc;
  .info_title {
    font-size: 0.2rem;
  }
  .retail_price {
    color: darkred;
  }
}
.attribute {
  background-color: #fff;
  margin-top: 0.2rem;
  padding: 0.1rem 0.168rem;
  h3 {
    font-size: 0.1638rem;
    line-height: 0.5rem;
  }
  li {
    height: 0.4rem;
    line-height: 0.4rem;
    background-color: #efefef;
    display: flex;
    margin-bottom: 0.1rem;
    border-radius: 0.05rem;
    .l {
      width: 30%;
      text-align: right;
      margin-right: 0.1rem;
      font-size: 0.12rem;
    }
    .r {
      flex: 1;
      font-size: 0.136rem;
    }
  }
}
//深度样式写法穿透UI组件样式，直接添加在标签上
/deep/.goods_desc {
  img {
    display: block;
    width: 100%;
  }
}
.title {
  width: 100%;
  background: #fff;
  height: 0.5rem;
  position: relative;
  &::before {
    content: "";
    width: 50%;
    height: 2px;
    background: #ccc;
    position: absolute;
    top: 50%;
    margin-top: -1px;
    left: 50%;
    margin-left: -25%;
  }
  span {
    width: 30%;
    position: relative;
    background: #fff;
    display: block;
    text-align: center;
    margin: 0 auto;
    height: 0.5rem;
    line-height: 0.5rem;
  }
}
.issue {
  padding: 0 4%;
  background: #fff;
  li {
    h3 {
      height: 0.3rem;
      line-height: 0.3rem;
      padding-left: 0.2rem;
      position: relative;
      font-weight: normal;
      &::before {
        content: "";
        width: 4px;
        height: 4px;
        background: darkred;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 50%;
        margin-top: -2px;
      }
    }
    p {
      font-size: 0.12rem;
      line-height: 0.2rem;
      padding-left: 0.2rem;
    }
  }
}
</style>